package com.sfac.javaSpringBoot.modules.common.dao;

import com.sfac.javaSpringBoot.modules.common.entity.ExceptionLog;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface ExceptionLogDao {

    @Select("select * from common_exception_log where " +
            "path=#{path} and method_name=#{methodName} and " +
            "exception_type=#{exceptionType}")
    List<ExceptionLog> getExceptionLogsByParam(
            @Param("path") String path,
            @Param("methodName") String methodName,
            @Param("exceptionType") String exceptionType
    );

    @Insert("insert into common_exception_log (ip,path,class_name,method_name," +
            "exception_type,exception_message,create_date)" +
            "values (#{ip},#{path},#{className},#{methodName}," +
            "#{exceptionType},#{exceptionMessage},#{createDate})")
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    void insertExceptionLog(ExceptionLog exceptionLog);
}
